1. Field of the Invention
The present invention relates to a method of performing H.264 Context Adaptive Variable Length Coding (CAVLC) decoding, and more particularly, to an H.264 CAVLC decoding method based on an Application-Specific Instruction-set Processor (ASIP).
This work was supported by the IT R&D program of MIC/IITA. [2007-S-026-01, Multi-Format Multimedia SoC based on MPcore Platform].
2. Discussion of Related Art
H.264 is a new video compression standard designed to efficiently and stably perform encoding and support transmission of a quadrangle video screen. Due to a high compression ratio and high reliability, H.264 is currently considered as a next-generation video compression technology all over the world. In particular, the H.264 standard is expected to be combined with a next-generation service, such as satellite Digital Multimedia Broadcasting (DMB), etc., and applied to high-definition video compression, video transmission via the Internet or a cable modem, digital data broadcasting, next-generation portable telephony, and so on.
H.264 coding methods are roughly classified into CAVLC and Context-Adaptive Binary Arithmetic Coding (CABAC). Currently, H.264 baseline profile uses CAVLC, and H.264 main profile uses both CAVLC and CABAC.
In brief, a CAVLC decoding process may be divided into three steps. The first step obtains a TrailingOnes value and a TotalCoefficient value with respect to a 4×4 block to estimate the form of the block. The second step obtains a TotalZero value. The last step calculates a Run_Before value to restore the 4×4 block data.
Meanwhile, an ASIP is a programmable processor in which high performance of an integrated circuit is combined with flexibility of a general-purpose processor. The flexibility of an ASIP enables a single chip to support various video codecs such as VC-1, H.264, Motion Picture Experts Group (MPEG), and so on. Thus, the ASIP is expected to be an effective solution for implementing a next-generation video standard requiring high throughput and a large amount of computation.
However, most conventional CAVLC decoding methods relate to efficiently searching a plurality of CAVLC tables and efficiently accessing a memory in order to implement an H.264 decoder using software or hardware. The methods have a drawback in that decoding speed decreases due to memory access. In addition, the conventional CAVLC decoding methods are not suited to the case in which CAVLC decoding is performed on an ASIP synthetically implementing software and hardware.